<html>
<body>
Reports <code>return</code> statements with <code>null</code> return values.
While occasionally useful, this construct may make the code more prone
to failing with a <code>NullPointerException</code>.
<p>
  If a method is designed to return <code>null</code>, it is suggested to mark it with the
  <code>@Nullable</code> annotation - such methods will be ignored by this inspection.
</p>
<p><b>Example:</b></p>
<pre><code>
  class Person {
    public String getName () {
      return null;
    }
  }
</code></pre>
<p>After the quick-fix is applied:</p>
<pre><code>
  class Person {
    public @Nullable String getName () {
      return null;
    }
  }
</code></pre>
<p>
  If the return type is <code>java.util.Optional</code>, an additional quick-fix to convert
  <code>null</code> to <code>Optional.empty()</code> is suggested.
</p>
<!-- tooltip end -->
<p>
  Use the following options to configure the inspection:
</p>
<ul>
  <li>
    Whether to ignore <code>private</code> methods.
    This will also ignore return of <code>null</code> from anonymous classes and lambdas.
  </li>
  <li>
    Whether <code>null</code> values on array returns, collection
    object returns, plain object returns, or a combination of the three should be reported.
    Return of <code>null</code> in methods with return type <code>java.util.Optional</code> are always reported.
  </li>
  <li>
    Click <b>Configure annotations</b> to specify which annotations should be considered 'nullable'.
  </li>
</ul>

</body>
</html>
